package com.dhh.util.calorie;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class FoodLevelPattern {
	private static Map<Integer, Integer> colMap = new HashMap<Integer, Integer>();
	private static Map<String, Integer> rowMap = new HashMap<String, Integer>();
	private static List<List<String>> matrix = new ArrayList<List<String>>();
	public static String FOOD_GRAIN = "Grains";
	public static String FOOD_FRUIT = "Fruits";
	public static String FOOD_DAIRY = "Dairy";
	public static String FOOD_VEGETABLE = "Vegetables";
	public static String FOOD_PROTEIN = "Protein foods";
	
	static{
		colMap.put(1000, 0);
		colMap.put(1200, 1);
		colMap.put(1400, 2);
		colMap.put(1600, 3);
		colMap.put(1800, 4);
		colMap.put(2000, 5);
		colMap.put(2200, 6);
		colMap.put(2400, 7);
		colMap.put(2600, 8);
		colMap.put(2800, 9);
		colMap.put(3000, 10);
		colMap.put(3200, 11);
		
		rowMap.put("Fruits", 0);
		rowMap.put("Vegetables", 1);
		rowMap.put("Dark-green vegetables", 2);
		rowMap.put("Red and orange vegetables", 3);
		rowMap.put("Beans and peas (legumes)", 4);
		rowMap.put("Starchy vegetables", 5);
		rowMap.put("Other vegetables", 6);
		rowMap.put("Grains", 7);
		rowMap.put("Whole grains", 8);
		rowMap.put("Enriched grains", 9);
		rowMap.put("Protein foods", 10);
		rowMap.put("Seafood", 11);
		rowMap.put("Meat, poultry, eggs", 12);
		rowMap.put("Nuts, seeds, soy products", 13);
		rowMap.put("Dairy", 14);
		rowMap.put("Oils", 15);
		
		List<String> a1000 = new ArrayList<String>();
		a1000.add("1");
		a1000.add("1");
		a1000.add("0.5");
		a1000.add("2.5");
		a1000.add("0.5");
		a1000.add("2");
		a1000.add("1.5");
		a1000.add("3");
		a1000.add("1.5");
		a1000.add("1.5");
		a1000.add("2");
		a1000.add("3");
		a1000.add("10");
		a1000.add("1");
		a1000.add("2");
		a1000.add("15");		
		matrix.add(a1000);
		
		List<String> a1200 = new ArrayList<String>();
		a1200.add("1");
		a1200.add("1.5");
		a1200.add("1");
		a1200.add("3");
		a1200.add("0.5");
		a1200.add("3.5");
		a1200.add("2.5");
		a1200.add("4");
		a1200.add("2");
		a1200.add("2");
		a1200.add("3");
		a1200.add("5");
		a1200.add("14");
		a1200.add("2");
		a1200.add("2.5");
		a1200.add("17");		
		matrix.add(a1200);
		
		List<String> a1400 = new ArrayList<String>();
		a1400.add("1.5");
		a1400.add("1.5");
		a1400.add("1");
		a1400.add("3");
		a1400.add("0.5");
		a1400.add("3.5");
		a1400.add("2.5");
		a1400.add("5");
		a1400.add("2.5");
		a1400.add("2.5");
		a1400.add("4");
		a1400.add("6");
		a1400.add("19");
		a1400.add("3");
		a1400.add("2.5");
		a1400.add("17");		
		matrix.add(a1400);
		
		List<String> a1600 = new ArrayList<String>();
		a1600.add("1.5");
		a1600.add("2");
		a1600.add("1.5");
		a1600.add("4");
		a1600.add("1");
		a1600.add("4");
		a1600.add("3.5");
		a1600.add("5");
		a1600.add("3");
		a1600.add("2");
		a1600.add("5");
		a1600.add("8");
		a1600.add("24");
		a1600.add("4");
		a1600.add("3");
		a1600.add("22");	
		matrix.add(a1600);
		
		List<String> a1800 = new ArrayList<String>();
		a1800.add("1.5");
		a1800.add("2.5");
		a1800.add("1.5");
		a1800.add("5.5");
		a1800.add("1.5");
		a1800.add("5");
		a1800.add("4");
		a1800.add("6");
		a1800.add("3");
		a1800.add("3");
		a1800.add("5");
		a1800.add("8");
		a1800.add("24");
		a1800.add("4");
		a1800.add("3");
		a1800.add("24");	
		matrix.add(a1800);
		
		List<String> a2000 = new ArrayList<String>();
		a2000.add("2");
		a2000.add("2.5");
		a2000.add("1.5");
		a2000.add("5.5");
		a2000.add("1.5");
		a2000.add("5");
		a2000.add("4");
		a2000.add("6");
		a2000.add("3");
		a2000.add("3");
		a2000.add("5.5");
		a2000.add("8");
		a2000.add("26");
		a2000.add("4");
		a2000.add("3");
		a2000.add("27");
		matrix.add(a2000);
		
		List<String> a2200 = new ArrayList<String>();
		a2200.add("2");
		a2200.add("3");
		a2200.add("2");
		a2200.add("6");
		a2200.add("2");
		a2200.add("6");
		a2200.add("5");
		a2200.add("7");
		a2200.add("3.5");
		a2200.add("3.5");
		a2200.add("6");
		a2200.add("9");
		a2200.add("29");
		a2200.add("4");
		a2200.add("3");
		a2200.add("29");
		matrix.add(a2200);
		
		List<String> a2400 = new ArrayList<String>();
		a2400.add("2");
		a2400.add("3");
		a2400.add("2");
		a2400.add("6");
		a2400.add("2");
		a2400.add("6");
		a2400.add("5");
		a2400.add("8");
		a2400.add("4");
		a2400.add("4");
		a2400.add("6.5");
		a2400.add("10");
		a2400.add("31");
		a2400.add("5");
		a2400.add("3");
		a2400.add("31");
		matrix.add(a2400);
		
		List<String> a2600 = new ArrayList<String>();
		a2600.add("2");
		a2600.add("3.5");
		a2600.add("2.5");
		a2600.add("7");
		a2600.add("2.5");
		a2600.add("7");
		a2600.add("5.5");
		a2600.add("9");
		a2600.add("4.5");
		a2600.add("4.5");
		a2600.add("6.5");
		a2600.add("10");
		a2600.add("31");
		a2600.add("5");
		a2600.add("3");
		a2600.add("34");
		matrix.add(a2600);
		
		List<String> a2800 = new ArrayList<String>();
		a2800.add("2.5");
		a2800.add("3.5");
		a2800.add("2.5");
		a2800.add("7");
		a2800.add("2.5");
		a2800.add("7");
		a2800.add("5.5");
		a2800.add("10");
		a2800.add("5");
		a2800.add("5");
		a2800.add("7");
		a2800.add("11");
		a2800.add("34");
		a2800.add("5");
		a2800.add("3");
		a2800.add("36");
		matrix.add(a2800);
		
		List<String> a3000 = new ArrayList<String>();
		a3000.add("2.5");
		a3000.add("4");
		a3000.add("2.5");
		a3000.add("7.5");
		a3000.add("3");
		a3000.add("8");
		a3000.add("7");
		a3000.add("10");
		a3000.add("5");
		a3000.add("5");
		a3000.add("7");
		a3000.add("11");
		a3000.add("34");
		a3000.add("5");
		a3000.add("3");
		a3000.add("44");
		matrix.add(a3000);
		
		List<String> a3200 = new ArrayList<String>();
		a3200.add("2.5");
		a3200.add("4");
		a3200.add("2.5");
		a3200.add("7.5");
		a3200.add("3");
		a3200.add("8");
		a3200.add("7");
		a3200.add("10");
		a3200.add("5");
		a3200.add("5");
		a3200.add("7");
		a3200.add("11");
		a3200.add("34");
		a3200.add("5");
		a3200.add("3");
		a3200.add("51");
		matrix.add(a3200);
	}
	
	public static String getValue(int calorie,String food){
		int x = rowMap.get(food);
		int y = colMap.get(calorie);
		return matrix.get(y).get(x);
	}
}
